#ifndef IVirtualBusiness_h 
 #define IVirtualBusiness_h 
#include <string>
#include <vector>
#include <list>
#include <map>
class ISession;
class IServlet;
#include "IBusiness.h"
#include "ILogger.h"
struct Data  {
    int x;
    std::string y;
};

struct Information  {
    Data data;
};

class IVirtualBusiness : public IBusiness {
public: 
    static const char *__businessName__;
    const char *getBusinessName() {return this->__businessName__;}
    void copyTo(std::string &buffer){
       buffer.resize(sizeof(IVirtualBusiness) + 8);new(&buffer[0])IVirtualBusiness;
    }
    virtual void echo(IServlet* servlet, const std::string& content) ;
    virtual void echo(ISession* session, const std::string& content) {LogI("there's no implemations for this method!!!!!!!!!");};

    virtual void back(IServlet* servlet, const std::string& content) ;
    virtual void back(ISession* session, const std::string& content) {LogI("there's no implemations for this method!!!!!!!!!");};

    virtual void testRemoteLogic(IServlet* servlet, const int& x, const float& y) ;
    virtual void testRemoteLogic(ISession* session, const int& x, const float& y) {LogI("there's no implemations for this method!!!!!!!!!");};

    virtual void testRemoteLogicV1(IServlet* servlet, const int& x, const double& y, const Information& z) ;
    virtual void testRemoteLogicV1(ISession* session, const int& x, const double& y, const Information& z) {LogI("there's no implemations for this method!!!!!!!!!");};

    int dispatchActions(ISession *session,void *data,int size);
};

#endif // IVirtualBusiness_h 
